package com.wn.common.service

import android.content.Context
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.Observer
import com.alibaba.android.arouter.facade.template.IProvider

/**
 * @Author: wn
 * @Date: 2025/6/20 17:01
 * @Description: 登录服务相关接口
 * 登录 模块 通过 ARouter对 其他模块提供 其自身的方法让其他模块调用
 */
interface ILoginService : IProvider {
  /**
   * 跳转登录页
   * @param context Context
   */
  fun toLogin(context: Context)

  /**
   * 跳转隐私协议
   * @param context Context
   */
  fun readPolicy(context: Context)

  /**
   * 登出
   * @param context Context
   * @param lifecycleOwner LifecycleOwner?
   * @param observer Observer<Boolean>
   */
  fun logout(
    context: Context,
    lifecycleOwner: LifecycleOwner?,
    observer: Observer<Boolean>,
  )
}